The present invention generally relates to data networks and in particular relates to a method and system for assigning multiple local identification values (LIDs) to ports.
A data network generally includes a network of nodes connected by point-to-point links. Each physical link may support a number of logical point-to-point channels. Each channel may be a bi-directional communication path for allowing commands and message data to flow between two connected nodes within the data network. Each channel may refer to a single point-to-point connection where message data may be transferred between two endpoints or systems. Data may be transmitted in packets including groups called cells from source to destination often through intermediate nodes.
In many data networks, hardware and software may often be used to support asynchronous data transfers between two memory regions, often on different systems. Each system may correspond to a multi-processor system including one or more processors. Each system may serve as a source (initiator) system which initiates a message data transfer (message send operation) or a target system of a message passing operation (message receive operation). Examples of such a multi-processor system may include host servers providing a variety of applications or services, and I/O units providing storage oriented and network oriented I/O services.
Often in data networks, local identification values (LIDs) are assigned after a full path analysis for the data network is performed. This prevents connectivity between components of the data network until the full path analysis is completed. Also, if the format of the data network requires that LIDs be assigned sequentially, it is difficult to assign additional LIDs when new resources and devices are incorporated into the data network.